home *** CD-ROM | disk | FTP | other *** search
- #ifndef LIBRARIES_PLAYSID_H
- #define LIBRARIES_PLAYSID_H
- /*
- ** $Filename: libraries/playsidbase.h $
- ** $Release: 1.0 $
- **
- ** (C) Copyright 1994 Per HÃ¥kan Sundell and Ron Birk
- ** All Rights Reserved
- */
-
- #ifndef EXEC_TYPES_H
- #include <exec/types.h>
- #endif /* EXEC_TYPES_H */
-
- #ifndef EXEC_LISTS_H
- #include <exec/lists.h>
- #endif /* EXEC_LISTS_H */
-
- #ifndef EXEC_LIBRARIES_H
- #include <exec/libraries.h>
- #endif /* EXEC_LIBRARIES_H */
-
- #define PLAYSIDNAME "playsid.library"
- #define PLAYSIDVERSION 1L
-
- struct PlaySidBase
- {
- struct Library LibNode;
- UBYTE Flags;
- UBYTE Pad;
- APTR SysLib;
- APTR SegList;
- UWORD PlayMode;
- UWORD TimeSeconds;
- UWORD TimeMinutes;
- /* Private... */
- };
-
- struct DisplayData {
- APTR Sample[4];
- WORD Length[4];
- WORD Period[4];
- WORD Enve[4];
- WORD SyncLength[3];
- WORD Volume;
- BYTE SyncInd[3];
- };
-
- /* --- Error -------------------------------------------------------- */
- #define SID_NOMEMORY -1L
- #define SID_NOAUDIODEVICE -2L
- #define SID_NOCIATIMER -3L
- #define SID_NOPAUSE -4L
- #define SID_NOMODULE -5L
- #define SID_NOICON -6L
- #define SID_BADTOOLTYPE -7L
- #define SID_NOLIBRARY -8L
- #define SID_BADHEADER -9L
- #define SID_NOSONG -10L
- #define SID_LIBINUSE -11L
-
- /* --- Playing Modes ------------------------------------------------ */
- #define PM_STOP 0
- #define PM_PLAY 1
- #define PM_PAUSE 2
-
- /* --- Module Header ------------------------------------------------ */
- #define SID_HEADER ('P'<<24 + 'S'<<16 + 'I'<<8 + 'D')
- #define SID_VERSION 2
- #define HEADERINFO_SIZE 32
-
- #define SID_SIDSONG (0)
- #define SIDF_SIDSONG (1<<SID_SIDSONG)
-
- typedef struct
- {
- ULONG id;
- UWORD version;
- UWORD length;
- UWORD start;
- UWORD init;
- UWORD main;
- UWORD number;
- UWORD defsong;
- ULONG speed;
- UBYTE name[HEADERINFO_SIZE];
- UBYTE author[HEADERINFO_SIZE];
- UBYTE copyright[HEADERINFO_SIZE];
- UWORD flags;
- ULONG reserved;
- } SIDHeader;
-
- #endif
-